1. Field of the Invention
The present invention relates generally to a computer system. More particularly, the present invention relates to switching between modes of the computer system, as for example, a cursor control mode and a scroll control mode.
2. Description of the Related Art
Graphical user interfaces have been around for some time. Graphical user interfaces are generally defined as a computer environment or program that displays, or facilitates the display of, text, graphics and on screen options to a user. By way of example, text or graphics may be displayed in a window, and on screen options may take the form of images that initiate tasks when selected. By way of example, the on screen options may include icons or tool bar items such as File, Edit, Window, Help, etc. In toolbar items, a first mouse click typically opens a pull down menu, and a second mouse click either makes a menu selection or closes the pull down menu. In order to make a menu selection, the user typically positions a cursor over the desired menu item with the mouse (or other related device), and then performs a clicking action with the button of the mouse (or other related device). The cursor may take the form of a highlight bar when moved over a menu item. The highlight bar generally indicates that a subsequent clicking action will initiate tasks associated with this particular menu item.
The graphical user interface (GUI) may also include a scroll bar for scrolling through the window. The scroll bar is typically located around the periphery of the window inside a window frame. There may be a vertical scroll bar for vertical scrolling and a horizontal bar for horizontal scrolling. In either case, the scroll bar typically includes a scroll tab that moves linearly within the scroll bar to actuate the scrolling function. Movement of the scroll tab causes scrolling of the contents in the window, as for example lines of text or graphical images. In order to move the scroll tab, a user must first position a cursor or pointer over the scroll tab with a mouse. The user must then select the tab by performing a clicking action with the button of the mouse. Once the scroll tab has been selected, the user can move the scroll tab within the scroll bar by continuously holding down the button and moving the mouse along a surface (e.g., hold and drag). For example, the mouse may be moved forwards and backwards to implement up and down or vertical scrolling.
This method of scrolling is not very ergonomic, i.e., hand fatigue and other hand related problems (e.g., carpal tunnel syndrome) may be incurred by the user when the button is continuously held down to drag the scroll tab from one point to another point. This is particular true when scrolling through large amounts of data as for example internet documents, word processing and spreadsheet documents, computer code documents, graphical documents (CAD), etc.
Alternatively, the scroll tab may be moved by selecting the open space of scroll bar on either side of the scroll tab or by selecting a scroll arrow that moves the scroll tab in the direction of the arrow. Using these techniques, the tab may be incrementally moved by making multiple selections with the button or continuously moved by holding down the button of the mouse. Incremental movements are typically only performed to do block scrolling, i.e., scrolling through large sections of data (e.g., paragraphs). Both incremental and continuous movement suffer from the same drawbacks as mentioned above, i.e., not very ergonomic.
In recent years, scrolling through a window on a graphical user interface has been implemented with a scroll wheel located on the mouse. The scroll wheel allows a user to vertically scroll through documents by rolling the wheel forward or backward-instead of selecting the scroll bar displayed on the GUI. The mouse may also provide a dedicated button that changes the mouse from a cursor control device to a scroll control device where moving the mouse forwards and backwards initiates vertical scrolling via the vertical scroll bar instead of moving the cursor. Scrolling in this manner may allow a user to scroll without having to continuously hold down the primary button of the mouse or to continuously run a finger over a wheel. Furthermore, the vertical scroll bar may change its shape and color when scrolling in this manner. For example, it may change from a gray tab to a black arrow. Unfortunately, however, a special mouse having special wheels and/or buttons must be provided. As such, a user that owns a conventional mouse cannot scroll in this manner. Furthermore, each of these items adds complexity and cost to the mouse.
Scrolling has also been implemented with a touch pad using a one and a half click method, i.e., tap and tap and hold. The tap and hold initiates a drag lock enabling the user to scroll by moving their finger about the touch pad. This is sometimes called “gesturing.” This method, however, suffers from the same drawbacks as mentioned above. For example, it is not very ergonomic and other types of input devices cannot scroll in this manner (e.g., a conventional mouse). Furthermore, this method provides no visual feedback as to which state the touch pad is in, and its not very intuitive, i.e., its very confusing to use.
In view of the foregoing, an improved scrolling technique that is ergonomic (e.g., allows the mouse to scroll through a window without holding down a button), that is available to all users regardless of the input device (e.g., does not need a dedicated button) and/or that provides visual stimulus indicating that scrolling is initiated is desired.